Introducción a la normalización de cadenas de texto

Note

La documentación de esta extensión, salvo pequeños cambios en la imagen gráfica (iconos básicamente), es válida tanto para la extensión en gvSIG 1.1.2 como superiores. En el caso de introducirse novedades para versiones más recientes de gvSIG se indicará convenientemente en la misma documentación.

La normalización de una cadena de texto consiste en sustraer de ésta un conjunto de subcadenas que poseen sentido por sí solas. En el caso de una dirección postal, la normalización consiste en obtener de forma separada los distintos elementos que la forman, como puede ser el nombre de la calle, el código postal, el número de portal, el municipio, la provincia, etc. Este proceso de partición de la cadena original en distintas subcadenas con sentido propio se realiza gracias a la definición de los distintos caracteres que actúan como puntos de ruptura entre cadenas de texto.

Esta extensión permite realizar, por una parte, la normalización de cadenas que se encuentren en un fichero de texto plano (txt,*csv*, etc.), guardandolas posteriormente en los registros de una nueva tabla en formato dbf. Por otra parte, también se normalizan cadenas de texto que se encuentran en los registros de un campo de un tabla, almacenandose en la misma tabla en nuevos campos o en una tabla nueva, con la posibilidad de añadir campos comunes con la original para poder realizar una posterior unión de tablas (Join).

Ejemplos de normalización:

Conde Salvatierra de Álava#34#10#46004#Valencia

Calle.      Conde Salvatierra de Álava
Número.     34
Puerta.     10
CP.         46004
Ciudad.     Valencia
533002.5;4757999.5;778.77

X UTM.    533002.5
Y UTM.    4757999.5
h.        778.77

Esta extensión añade a la interfaz de gvSIG dos botones en la barra de herramientas y dos nuevas funcionalidades en el menú Tabla. Por una parte, está la funcionalidad de Normalizar fichero de texto, y por otra parte, Normalizar una campo de tabla.

./images/es/buttons-es.png

Menú y barra de botones

La funcionalidad de Normalizar fichero de texto está disponible cuando se encuentre en una vista o tabla, mientras que la funcionalidad de Normalizar una campo de tabla está disponible cuando trabaje sobre una tabla en gvSIG.

Y para finalizar, añadir un nuevo concepto, patrón de normalización, que es la definición de una serie de parámetros que definidos por el usuario para poder realizar la separación de cadenas de texto. Esta configuración podrá ser almacenada en un archivo xml. De esta forma posteriormente se podrá cargar de nuevo y repetir las operaciones de normalización si tener que definir de nuevo todo el patrón.


Interfaz de normalización

La ventana principal de normalización es válida tanto para normalizar un fichero de texto plano, como para normalizar los registros de un campo de una tabla. Mediante esta ventana va a poder configurar fácilmente la separación de las diferentes subcadenas.

Esta ventana principal de esta extensión está compuesta por distintas secciones:

./images/es/manager-es.png

Ventana principal de normalización

Fuente de datos

En esta sección se le indica el nombre del fichero o tabla que contiene las cadenas de texto que pretende normalizar y además se muestra sus tres primeros registros, de esta forma se facilita mucho la creación del patrón de normalización.

En el caso que desee realizar el proceso con un fichero de texto que posea una cabecera, formada por distintas filas de texto, puede activar la opción de No normalizar la primera fila para evitar la normalización de estas primeras cadenas. Esta opción permite definir el número de filas de texto que hay que ignorar.

Nuevos campos

En esta lista se crean los nuevos campos de la tabla de salida necesarios para almacenar las nuevas subcadenas que se obtengan después del proceso de normalización. Por ejemplo, si pretende obtener 4 subcadenas de la cadena de texto inicial es necesario que genere al menos 4 campos. Debe tener presente que el proceso de recorte genera tantas cadenas como campos haya generado y además no elimina la cadena sobrante de caracteres por la parte derecha, en el caso de que existan. Esto significa que el último campo va a contener su subcadena más el sobrante de la cadena inicial. Si quiere realizar recortes precisos de cadenas y dejar el sobrante de caracteres en un campo a parte es necesario que genere un campo de más.

./images/es/fields-es.png

Lista de nuevos campos

La lista de campos se gestiona mediante los botones de añadir capa (+), eliminar capa (-) y, subir y bajar la posición (orden) en el listado de capas mediante los botones de arriba y abajo.

Configuración del nuevo campo

Una vez creado un campo y seleccionado en la lista, puede definir todas sus propiedades:

./images/es/field-es.png

Configuración de un nuevo campo

Muestra de salida

Una vez definidos todos los campos y sus propiedades para realizar la normalización, puede realizar una prueba previa para ver cual es el resultado del proceso de configuración. Al presionar el botón Testear se visualiza en la sección Muestra de salida las tres primeras filas normalizadas, con las subcadenas en su respectivo campo. Si los resultados obtenidos no son los deseados deberá revisar la configuración de cada nuevo campo.

Opciones de salida

Esta sección le permite definir la ubicación de los nuevos campos generados. Las posibilidades son dos:

./images/es/output-es.png

Opciones de salida

Consola de información

La consola de información le muestra información de cada uno de los procesos de normalización que se realizan. Su principal funcionalidad es mostrar errores en el proceso.

Guardado y recarga de patrones de normalización

Cualquier definición de un patrón de normalización realizada, puede ser guardada en un fichero xml, para posteriormente reutilizarlo. Mediante el botón de Guardar... se guarda su configuración y mediante el botón de Cargar... se recupera.

./images/es/save-es.png

Ventana para guardar un patrón de normalización

./images/es/load-es.png

Ventana para cargar un patrón de normalización

Ejecución de la normalización

Para lanzar el proceso de normalización debe presionar el botón de Ejecutar. Los resultados aparecerán en una nueva tabla o en la tabla origen.

./images/es/process-es.png

Ejecución del proceso de normalización


Normalizar cadenas de texto desde un fichero

La extensión de normalización le permite normalizar un fichero de texto plano del tipo txt, csv , etc.

Para ello debe seleccionar en gvSIG la funcionalidad de Normalizar fichero de texto en la barra de herramientas o en el menú Tabla.

./images/es/normfilebutton-es.png

Funcionalidad de Normalizar fichero de texto

A continuación se muestra una nueva ventana donde seleccionar el fichero de texto a normalizar.

./images/es/loadnormfile-es.png

Ventana para cargar el fichero de texto

Después de cargar el fichero de texto, se muestra la ventana de normalización. En la sección de Fuente de datos podrá ver las tres primeras cadenas del fichero. Es importante recodar que en los archivos que poseen títulos de columnas o cabecera, tiene la posibilidad de no normalizar las primeras filas con la función No normalizar las primeras filas. Cuando active esta funcionalidad pude definir el número de filas que no desea normalizar.

Posteriormente debe de realizar todo el proceso de definición de los nuevos campos y sus atributos para poder realizar una normalización correcta. En el proceso de configuración de nuevos campos puede ayudarse de la funcionalidad de testeo para ver en todo momento como resulta la partición de las cadenas de texto.

./images/es/filemanager-es.png

Definición del patrón de normalización

Cuando el archivo de entrada es un fichero de texto, la opción de salida es única. Las nuevas subcadenas se introducen en los registros de una nueva tabla, que posee los campos que usted ha definido.

Y para terminar solo resta lanzar el proceso con el botón de Ejecutar. El resultado de la normalización será una tabla dbf con el nombre y la ubicación que usted desee.

./images/es/fileresult-es.png

Tabla resultado de la normalización del fichero de texto


Normalizar cadenas de texto desde una tabla

La otra posibilidad es normalizar cadenas de texto que se encuentren en registros de un campo de una tabla.

Para ello, debe indicar explícitamente que tabla y que campo de esa tabla pretende normalizar. Por eso debe cargar la capa en el ToC de gvSIG, visualizar la tabla de atributos de la capa y seleccionar el campo a normalizar. De esta manera la funcionalidad de Normalizar un campo de tabla se activará.

./images/es/tablecontext-es.png

Activar la funcionalidad de normalización de una tabla.

Una vez la herramienta este activa y el campo seleccionado, debe presionar el botón de Normalizar un campo de tabla en la barra de botones o en menú Tabla. Y a continuación se mostrará la ventana principal de normalización.

El siguiente paso a realizar consiste en generar una patrón de normalización que sea válido para realizar la separación en cadenas.

./images/es/tablemanager-es.png

Crear el patrón de normalización.

Cuando trabaja con tablas las opciones de salida dependen si la tabla origen se encuentra en edición. Si la tabla se encuentra en edición puedes añadir los nuevos campos a la tabla con la opción En la tabla actual o guardar los nuevos campos en una nueva tabla, para ello debe seleccionar la opción En una nueva tabla. A esta nueva tabla también se van añadir unos campos que viene de la tabla original. Estos campos los tiene que elegir usted en el listado de campos inferior, por defecto no se copia ningún campo. Con estos campos copiados de la tabla original se puede realizar posteriormente procesos de unión entre tablas. Si por el contrario la tabla original no esta en edición solo podrá crear una nueva tabla.

./images/es/tableoutput-es.png

Elegir la opción de salida.

Finalmente debe ejecutar la normalización mediante el botón Ejecutar. En este ejemplo se ha elegido la opción de añadir los nuevos campos a la tabla original y el resultado es el siguiente.

./images/es/tableresult-es.png

Resultado de la normalización en la propia tabla.


Parámetros de la extensión de normalización

Por último, la extensión posee en la ventana de Preferencias de gvSIG una ventana de configuración.

La ventana de Preferencias, Normalización, posee la posibiladad de definir un carpeta donde usted guardará todos los patrones de normalización. De esta manera, cuando intente cargar un patrón desde la ventana de normalización, el primer lugar donde se buscarán patrones será la ruta definida.

Por defecto, se crea un carpeta para almacenar patrones denominada normalization junto a los ficheros de persistencia de gvSIG.

./images/es/preferences-es.png

Configuración de las Preferencias de Normalización.



-----------------------------------
  1. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Introducción a la normalización de cadenas de texto
  2. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  3. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  4. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  5. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  6. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  7. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  8. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Interfaz de normalización
  9. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde un fichero
  10. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde un fichero
  11. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde un fichero
  12. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde un fichero
  13. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde una tabla
  14. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde una tabla
  15. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde una tabla
  16. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Normalizar cadenas de texto desde una tabla
  17. Se ha producido un error "Unauthorized", probablemente la imagen no esta publicada. En el documento Parámetros de la extensión de normalización

Cached time 11/21/13 14:47:28 Clear cache and reload